【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 您所在的位置:网站首页 groovy语法 null的比较 【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件

【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件

2023-04-06 06:42| 来源: 网络整理| 查看: 265

文章目录一、删除 Xml 文件中的节点二、增加 Xml 文件中的节点三、将修改后的 Xml 数据输出到文件中四、完整代码示例一、删除 Xml 文件中的节点

在 【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 获取 Xml 文件中的节点和属性 | 获取 Xml 文件中的节点属性 ) 博客基础上 , 删除 Xml 文件中的节点信息 ;

下面是要解析的 xml 文件 :

Tom 18 Jerry

获取 age 节点 , 删除子节点 , 需要通过父节点进行删除 , 调用 xmlParser 对象 ( 根节点 ) 的 remove 方法 , 删除二级节点 age 节点 ;

// 获取 age 节点 Node ageNode = xmlParser.age[0] // 从根节点中删除 age 节点 xmlParser.remove(ageNode)二、增加 Xml 文件中的节点

增加 Xml 文件中的节点 , 调用 appendNode 方法 , 可以向节点插入一个子节点 ;

// 添加节点 xmlParser.appendNode("height", "175cm")三、将修改后的 Xml 数据输出到文件中

创建 XmlNodePrinter 对象 , 并调用该对象的 print 方法 , 传入 XmlParser 对象 , 可以将该 XmlParser 数据信息写出到文件中 ;

// 将修改后的 Xml 节点输出到目录中 new XmlNodePrinter(new PrintWriter(new File("b.xml"))).print(xmlParser)四、完整代码示例

完整代码示例 :

import groovy.xml.XmlNodePrinter // 要解析的 xml 文件 def xmlFile = new File("a.xml") // 创建 Xml 文件解析器 def xmlParser = new XmlParser().parse(xmlFile) // 获取 xml 文件下的 节点 // 节点位于根节点下, 可以直接获取 // 获取的 节点是一个数组 // 如果只有一个该节点, 可以直接获取第 0 个元素即可 println xmlParser.name println xmlParser.name[0] // 获取 节点 下的 节点, 获取的是数组 // 也是获取第 0 个元素 println xmlParser.team[0].member[0] // 获取 name 节点 Node nameNode = xmlParser.name[0] // 获取 Activity 节点的属性 , 这是一个 map 集合 println nameNode.attributes() // 获取 age 节点 Node ageNode = xmlParser.age[0] // 从根节点中删除 age 节点 xmlParser.remove(ageNode) // 添加节点 xmlParser.appendNode("height", "175cm") // 将修改后的 Xml 节点输出到目录中 new XmlNodePrinter(new PrintWriter(new File("b.xml"))).print(xmlParser)

执行结果 :

[name[attributes={code=utf-8}; value=[Tom]]] name[attributes={code=utf-8}; value=[Tom]] member[attributes={}; value=[Jerry]] [code:utf-8]


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有